package Learning;

import java.sql.*;
    /*
    连接数据库，并插入数据
     */

public class demo1 {
    public static void main(String[] args) {
        Connection con = null;
        Statement ste = null;
        try {
            // 1. 注册驱动, 说明即将连接的数据库类型
            Driver driver = new com.mysql.jdbc.Driver(); // 多态，父类型引用指向子类对象。
            DriverManager.registerDriver(driver);
            // 2. 获取连接 最后是哪个数据库名字+编码方式
            String url = "jdbc:mysql://192.168.10.132:3306/learn_JDBC?useUnicode=true&characterEncoding=utf-8";
            String user = "root";
            String password = "123456";
            con = DriverManager.getConnection(url,user,password);
            System.out.println("连接数据库成功："+ con);
            // 3.获取数据库操作对象
            ste =  con.createStatement();
            // 4.执行SQL 不需要提供分号
            String sql = "INSERT INTO user VALUES(103,'精灵','女')";

            // 返回值是“影响的数据库中的记录条数”
            int count = ste.executeUpdate(sql);
            System.out.println(count == 1 ? "保存成功" : "保存失败");
        }catch (SQLException e){
            e.printStackTrace();
        }finally {
            // 释放资源
            // 为了保证资源一定释放,在finally语句块中关闭资源
            // 从小到大分依次关闭
            // 要对资源进行分开try..catch..
            try{
                if (ste != null){
                    ste.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try{
                if (con != null){
                    con.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

